1. Field of the Invention
The present invention relates to image processing technology in video game devices.
2. Description of the Related Art
Pursuant to the progress in computer graphics (CG) technology, a virtual world can now be represented even more realistically. A video game device utilizes such CG technology.
As an example of a video game, there is a shooting game. This type of game device is generally equipped with a gun unit, CPU for graphics processing, monitor, and so on. When a player aims the gunpoint at a target (enemy character) appearing on the monitor screen and pulls the trigger on a gun unit, the game device detects the position on the monitor screen of the light signal emitted from the gun unit, and performs image processing such as processing for destroying the enemy character based on such position data.
As one example of a typical gun shooting game heretofore, there is xe2x80x9cVirtua Cop (Trademark)xe2x80x9d manufactured by Sega Enterprises, Ltd. In this gun game, players compete for scores by using a gun unit and shooting down enemy characters appearing in the virtual three-dimensional space (game space) on the monitor screen. Here, an enemy character appears at a predetermined location on the monitor screen in a predetermined timing. When the player directs the gunpoint of the gun unit toward the enemy character, the viewpoint on the monitor screen approaches the enemy and such enemy character is enlarged and displayed on the monitor screen. Actions of the enemy character are controlled by an image processing program loaded in a game device and, when required, the enemy character attacks the player viewing the monitor screen.
However, the inventors have discovered through intense study that the following problems must be resolved in order to increase the reality of the game and represent the picture more realistically.
First, processing of explosion pictures in a conventional shooting game uses, for example, planar polygons and spherical polygons in order to decrease the amount of polygon data for representing explosion pictures. A texture of explosion pictures is affixed to these polygons and the animation of explosions is realized by rotating etc., this texture. Processing of explosion pictures using planar polygons is disclosed in International Publication No. WO95/35555. According to this method, polygons such as explosion patterns are always facing the direction of the line of sight and inconveniences upon using planar polygons (necessity to make the plane always face the direction of the line of sight) are resolved as it comprises camera control matrix processing means, object matrix processing means, and object pattern display processing means.
However, when representing explosion pictures with planar polygons, the boundary between the explosion picture and background becomes unnatural, resulting in the picture lacking reality. In other words, there is an inconvenience that the boundary between the explosion picture and background is a straight line. Moreover, when representing explosion pictures with spherical polygons, the explosion picture becomes monotonous, resulting in the picture lacking reality. Thus, a more realistic explosion picture is desired.
Second, upon realizing explosion pictures by combining a plurality of polygons, conventionally, explosion patterns concerning all such combinations were registered in a prescribed storage field. Reference is made to FIG. 6(A) and FIG. 7 for the explanation thereof. FIG. 6(A) shows four combinations of explosion data A1, B1, B2, C1, and C2 (patterns (1) through (4)) structuring the explosion object. FIG. 7 shows the explosion pictures represented by the combination of such explosion data. Pattern (1) corresponds to FIG. 7(A), pattern (2) to FIG. 7 (B), pattern (3) to FIG. 7(C), and pattern (4) to FIG. 7(D), respectively. Conventionally, explosion data was registered in advance for each of these four patterns, and one pattern was displayed by being selected optionally from the registered explosion patterns upon processing explosion pictures.
However, registering the explosion data in advance for all explosion patterns led to a problem in that the necessary memory increases pursuant to the increase in the variations of explosion patterns.
Third, there is a problem in that the movement of characters is unnatural because the motion interpolation processing in between the two different motions was insufficient heretofore. Motion interpolation processing is, for example, image processing to smoothly connect two motion changes (changes in motion patterns), such as from an xe2x80x9cattacking motionxe2x80x9d to a xe2x80x9ccollapsing motion,xe2x80x9d when an enemy character in an attacking mode is shot. Conventional motion interpolation processing is explained with reference to FIG. 8(A). When the enemy character is in an attacking motion, the enemy character attacks with a predetermined motion pattern (motion pattern M). If the enemy character is damaged by the attack made by the player character, the enemy character makes a transition from an xe2x80x9cattacking motionxe2x80x9d to a xe2x80x9ccollapsing motion.xe2x80x9d A plurality of patterns are predetermined for this xe2x80x9ccollapsing motionxe2x80x9d and one of those patterns is selected in accordance with the situation of the enemy character being damaged or the game environment at such time, etc. Further, the xe2x80x9ccollapsing motionxe2x80x9d is structured of a plurality of motion patterns (hit pattern H1, hit pattern H2, . . . ). Motion interpolation processing C is performed during the several frames when the transition from motion pattern M to hit pattern H1 is being made. Thus, the unnaturalness of the sudden transition from motion pattern M to hit pattern Hi can be solved as it will be in slow motion during such transition.
Nonetheless, as this method only performs motion interpolation processing C during the transition period from motion pattern M to hit pattern H1, changes in the motion are only slowed down temporarily and unnaturalness still existed when viewed as a whole.
Fourth, in conventional shooting games, enemy characters shot by bullets retreat straight back regardless of where the bullet hit or the destructive power of the bullet. Thus, when shooting with the likes of a machinegun which successively fires bullets, the shooting becomes easy as there is no change in the two-dimensional position of the enemy character, resulting in the amusement being lowered. This point is explained with reference to FIG. 9. As shown in FIG. 9(A), the enemy character retreats from position E1 to position E2 regardless of the position at which the enemy character is shot. The direction of retreat is parallel to the player""s line of sight. Therefore, the game screen seen from the player""s side, as shown in FIG. 9(B), only shows the changes of the enemy character moving from position E1 to E2. As there is no change in the two-dimensional position of the enemy character when seen from the player""s side, the shooting is easy and the amusement is lowered.
Fifth, when the enemy character is attacked and it is to counterattack after the collapsing motion (shot-down motion), an opportunity is provided to the player for shooting if the enemy character starts the attacking motion from the very beginning, resulting in a problem that the amusement of the game is lowered. This point is explained with reference to FIG. 11 (A). Suppose that the enemy character is attacking in the attacking motion pursuant to predetermined attacking steps M1, M2 . . . Mnxe2x88x921, Mn. Here, for example, M1 is an attacking step of holding the gun at a ready, M2 is an attacking step of aiming the gun, M3 is an attacking step of firing the bullet from the gun, and soon. Further suppose that the enemy character, during attacking step M3, is damaged upon being attacked by the player character. The enemy character will make a transition to the xe2x80x9cshot-down motionxe2x80x9d and, after the completion of such xe2x80x9cshot-down motion,xe2x80x9d will return to the first step of the attacking motion, that is, attacking step M1. Thereafter, as the enemy character will perform in order attacking steps M1, M2 . . . Mnxe2x88x921, Mn, it can not readily counterattack the player character. In other words, this provides the player character an opportunity to attack while the enemy character is performing attacking steps M1, M2, resulting in a problem that the amusement of the game is lowered. Although it is possible to disregard the xe2x80x9cshot-down motionxe2x80x9d upon the enemy character being attacked, this will also result in the amusement of the game being lowered as the player will not be able to enjoy the feeling of the bullet hitting the target.
Sixth, there is a problem in relation to the flight locus of a bullet seen from the line of sight of the player character. As shown in FIG. 12(A), conventional shooting games displayed the flight locus of a bullet seen from a moving player character as a flight locus of a bullet having the resulting speed vector upon subtracting the player character""s speed vector from the bullet""s speed vector. Therefore, when the moving direction of the bullet and the moving direction of the player character were the exact opposite, the speed of the outward appearance of the bullet is increased and the player is unable to react to such speed.
Seventh, there is a problem in the acceleration of the collision judgment. Here, collision judgment is the judgment of whether two objects collided and an example thereof is the collision judgment of a bullet and a building. This collision judgment is simplified by modeling the bullet as a line segment and the building as a plane and obtaining the intersection thereof. As conventional collision judgments judged the collision of the bullet (line segment polygon) with every building (planar polygon), high-speed game processing was hindered due to the excessive time required for the calculation. Moreover, as shown in FIG. 13, when a car operated by the player moves along a road preformed on a game space, the area in which the car may move is restricted to the road. Thus, the virtual area for collision judgment, area 1, area 2, and so on are formed along the road. And, as shown in FIG. 14(A), buildings (building 1, building 2, and so on) existing within each respective area are stored in advance in correspondence therewith. Collision judgment between the bullet fired from the player character driving the car and the aforementioned buildings is performed by, as shown in FIG. 14(B), checking each area to determine in which area the bullet exists (step B1). This area check is conducted by comparing the coordinates of the bullet modeled as a line segment polygon and the coordinates of each area. After confirming the area in which the bullet exists, collision judgment is performed with respect to each of the buildings existing in such area (step B2). According to this method, collision judgment between the line segment polygon representing the bullet and the planar polygon representing the building can be accelerated as only a planar polygon within a prescribed area need only be judged. However, as the aforementioned area only exists in a limited area of the game space, there is an inconvenience in that collision judgment can not be performed in a region not including such area. There is also another problem with this method in that game programs are complicated as polygons for areas need to be provided according to game scenes.
Eighth, in shooting games, there is a problem with representing wave motions consequent of explosions of the bullet and the like. As techniques of representing waves, for example, pattern change and texture scroll are known. Pattern change is a technique of displaying waves by modeling every condition of the wave motion and switching each model to the same position. With this technique, there is a problem in that the amount of data is increased as models for every condition of a wave must be prepared in advance. Texture scroll is a technique of preparing textures representing waves and displaying waves on the polygons by scrolling such textures. However, it is not possible to represent a three-dimensional wave as only planar pictures move according to this technique. Thus, a technique of representing realistic three-dimensional waves with a small amount of data is desired.
Ninth, when a game story is made from a plurality of stages and the order of such stages is predetermined in a game program, there is a problem in that the progress of the game is monotonous. Therefore, it is considered that the amusement in the game will increase if it is possible to change the progress of the game according to the player""s intention.
Tenth, in conventional game devices, for example, there is a type wherein prescribed vibration is delivered to the player upon the explosion of enemy characters. In such conventional devices, the vibration generating device was driven by a sound signal generated pursuant to the sound data of background music and the like. This led to the vibration generating device picking up the aforementioned sound signals even during scenes having no relation to the explosion of enemy characters, resulting in unnatural vibrations.
The present invention was devised in view of the aforementioned problems of the conventional art. An object thereof is to provide an image processing device and information recording medium preferable for gun shooting games and the like, superior in reality and naturalness in comparison to the games heretofore, and capable of considerably enhancing the game feeling as well as the interest in the game. Another object of the present invention is to reduce the burden of the operation processing during image processing. A further object is to provide a vibration generating device for generating appropriate vibrations in accordance with game scenes.
An image processing device of the present invention for displaying a picture of an object changing forms within a predetermined time frame comprises a storage means for storing spherical polygon data and planar polygon data forming the object, and image generating means for reading such spherical polygon data and planar polygon data from the storage means and generating images of the object by combining spherical polygons and planar polygons.
Preferably, the image generating means sets the direction of the form change of the object and, by alternately arranging the spherical polygon data and planar polygon data along this direction as well as covering the boundary of planar polygons with spherical polygons, obtains images of the object.
By covering the boundary of planar polygons with spherical polygons as mentioned above, it becomes difficult to distinguish that the polygons are planar, thereby realizing realistic and natural images. Further, by representing images by arranging spherical polygons at the boundary of planar polygons, it is possible to avoid the unnaturalness of the boundary of the planar polygons, thereby realizing realistic form changes of an object. The aforementioned object, for example, is effective if it is an object representing an explosion.
An image processing device of the present invention for displaying a picture of an object changing forms within a predetermined time frame comprises a storage means for storing hierarchically, with respect to each possible form adoptable by an object, the relation between the plurality of structural elements structuring the object, and an image generating means for generating images of the object by selecting hierarchically one optional form among the plurality of forms adoptable by such object and reading from the storage means for each hierarchy the structural element corresponding to such form. According to this structure, it is possible to keep the data of an object to a minimum, thereby enabling the efficient usage of memory. The aforementioned object, for example, is effective if it is an object representing an explosion.
An image processing device of the present invention for representing a series of motions of an object comprises a storage means for storing in advance the motion patterns of the object, and an image generating means for generating images of such object by alternately repeating, upon the motion pattern of the object changing, the step of performing motion interpolation processing of an object and displaying the result on the screen and the step of reading the motion pattern after the change from the storage means and displaying the result on the screen, and gradually decreasing the number of times the motion interpolation processing is performed.
According to this structure, it is possible to produce a smooth change in the motion of an object, thereby preventing an unnatural feeling of stoppage. In other words, the motion of the object is naturalized by not only performing motion interpolation processing at the time the motion of the object changes, but also thereafter. By gradually decreasing the number of times the motion interpolation processing is performed, the effectiveness thereof can be furthered more advantageously. The change in motion patterns of an object is, for example, preferable if it is a change from an xe2x80x9cattacking motionxe2x80x9d to a xe2x80x9ccollapsing motion upon being shot.xe2x80x9d
An image processing device of the present invention for displaying on a screen, upon a first object flying within a virtual three-dimensional space colliding with a second object arranged in the virtual three-dimensional space, a picture showing a change in the position of the second object comprises a storage means for storing coordinate values of the second object, an operation means for operating the moment such second object is subject to upon colliding with the first object and computing the coordinate values of the second object after collision, and an image generating means for renewing the coordinate values of the second object stored in the storage means pursuant to such calculation and generating images of the second object after collision.
Preferably, the image generating means calculates the coordinate values of the second object after collision so as to change the two-dimensional position of the second object seen from a virtual viewpoint. For example, the first object is a bullet and the second object is an enemy character. According to this structure, when the enemy character is attacked, the two-dimensional position of the attacked enemy character will shift when seen from the player""s line of sight, thereby increasing the difficulty of shooting the enemy character and enhancing the amusement of the game. As the player will be required to improve his/her shooting techniques, an advanced shooting game is provided thereby.
An image processing device of the present invention for displaying a series of motions of an object comprises a first storage means for storing priorly divided motion patterns of the object as a plurality of motion steps, an image generating means for reading the motion patterns from the storage device and displaying the same on a screen, a detecting means for detecting changes in the motion patterns of the object, a first image controlling means for storing identification information of the motion step in the second storing means upon the detecting means detecting a motion change in the object and controlling the image generating means such that it reads other motion patterns from the first storage means and displays the same on the screen, and a second image controlling means for making the image generating means perform, upon completion of displaying images of the other motion patterns, a motion pattern of a transition of a motion step of said object pursuant to the identification information stored in the second storage means.
For example, the aforementioned object is an xe2x80x9cenemy character,xe2x80x9d the prescribed motion pattern is an xe2x80x9cattacking motion,xe2x80x9d and the other motion pattern is a xe2x80x9ccollapsing motion upon being shot.xe2x80x9d According to this structure, the attacked enemy character will return not from the initial motion, but from the condition it was shot, and therefore does not provide an opportunity to the player for shooting. Thus, a player is required to improve his/her skills resulting in the difficulty in the shooting game increasing, thereby enhancing the amusement of the game.
An image processing device of the present invention for displaying on a screen an image of a first object moving within a virtual space seen from a virtual viewpoint of a second object operated by a player comprises a storage means for storing in advance motion patterns of the first object, a means for calculating the distance between the first object and second object and computing a synthetic vector by adding to the speed vector of the first object the vector calculated by multiplying the coefficient corresponding to the distance to the inverse vector of the speed vector of the second object, and an image generating means for reading transition patterns from the storage means and generating images of the speed vector of the first object as the synthetic vector.
Preferably, the aforementioned coefficient is a coefficient having an inverse proportion to the distance. Further, the first object is a bullet. Accordingly, as it is a structure wherein the speed of the first object seen from the second object is either added or subtracted in correspondence to the distance between the first object and the second object, it is possible to represent naturally the flight locus of the bullet in a game since the speed vector of the second object is uninfluenced when the bullet (first object) is in a position far from the second object, and the movement of the bullet is effectively controlled when the bullet is at a distance near the second object.
An image processing device of the present invention for judging the collision between a first object moving within a virtual space and a second object arranged within the virtual space comprises a storage means for storing, upon the virtual space being partitioned per unit grid pursuant to three-dimensional coordinates, the second object existing within the unit grid in correspondence with each unit grid, and a collision judgment means for performing a step of judging the unit grid in which the first object exists and a step of judging the collision between the second object in the unit grid in which the first object exists and the first object.
Preferably, the collision judgment means models the first object as line segment polygons, models the second object as planar polygons, and thereby performs collision judgment according to the intersection of such line segment and plane. Further, the collision judgment means sets a virtual three-dimensional space around the perimeter of the second object and performs the collision judgment by dividing the three-dimensional space into unit grids. The first object is a xe2x80x9cbullet.xe2x80x9d According to this structure, upon the collision judgment between the bullet and other objects, an effective collision judgment can be made without having to perform collision judgment with respect to all other objects existing within the virtual space. That is, accelerated implementation of collision judgment is possible as collision judgment need only be performed regarding the object existing in the unit grid in which the bullet exists. Regarding the unit grid in which the bullet exists, the length of the line segment polygons representing the bullet need only be divided by the length of each of the three axis directions of the unit grid. Thus, the calculation is simple, and the burden of the calculation processing is minimized. Moreover, the length of each of the axis directions of the unit grids may be suitably set in relation to the number and size, etc. of polygons and within the virtual space.
An image processing device of the present invention for displaying on a screen an object representing the movement of the surface of a flowing body comprises a storage means for storing in advance changing patterns representing changes in the surface of the flowing body, and an image generating means for forming the object as an aggregate of polygons along a prescribed direction of the flowing body and generating images of the object by reading the changing patterns from the storage means and changing the length of the polygons along the prescribed direction. Preferably, the movement of the flowing body is a xe2x80x9cwave movement.xe2x80x9d According to this structure, it is possible to represent realistic movements of a wave in comparison to the conventional art. This is especially advantageous in representing images of three-dimensional waves.
An image processing device of the present invention for executing games having a plurality of stages, wherein the first stage and final stage are predetermined, and the intermediate stages may be suitably selected in correspondence with the player""s game progress. According to this structure, as the player is able to suitably select the intermediate stages, the amusement in the game is enhanced.
Here, xe2x80x9c. . . meansxe2x80x9d in this specification is a concept realized during image processing, and does not necessarily correspond one-on-one to a particular hardware or software. Identical hardware elements may realize a plurality of xe2x80x9c. . . meansxe2x80x9d or a plurality of hardware elements may realize a single xe2x80x9c. . . means.xe2x80x9d In other words, these xe2x80x9c. . . meansxe2x80x9d are realized by programs stored in memory or other information recording medium within a computer. The information recording medium according to the present invention stores a program capable of making a computer function as the image processing device of the present invention.
A vibration generating device according to the present invention comprises a storage unit for storing vibration waveform data registered upon being associated in advance to each object, and a controlling unit for reading vibration waveform data associated with the object when a prescribed event occurs to the object and generating vibrations by outputting such data to the vibration generating device. Particularly, it is preferable that the vibration generating device is a low frequency sound vibration device. According to the present invention, the vibration generation circuit pursuant to explosions and the like of objects is a separate circuit from the sound signals such as for background music, thereby realizing suitable sound effects in correspondence to the scenes.